Typically, interconnected computing-based systems transmit large amounts of data amongst themselves. Computing devices may communicate (transmit and receive) data as a whole, or the data can be segmented into manageable portions that allow efficient and feasible transfer. To provide the data from one computing device, such as a server to another device (e.g., a client device), the data can be transmitted as a stream. Streaming of data provides increased functionality, allowing a user quicker reception of the data. Without streaming the client device could experience a delay before the entire data can be rendered at the client end.
A device (e.g., a server), can transmit data in compressed form. Compression results in efficient streaming of the data between one or more devices over the network. For example, a network, including a server device and one or more client devices, may have limited bandwidth. The bandwidth may limit the amount of data communicated from the server to a client device in a certain amount of time. By compressing the streaming data, more data can be transferred over low-bandwidth networks at any one time and therefore improve the utility of the streamed data.
Protocols, such as Remote Desktop Protocol (RDP) developed by the Microsoft® Corporation, may use a variety of techniques for implementing data compression. The techniques can either be lossy or lossless depending on the requirement. These techniques reduce the bandwidth usage by the streaming data.